package com.huatai.bpmn.controller;

import com.alibaba.fastjson.JSONArray;
import com.alibaba.fastjson.JSONObject;
import com.baomidou.mybatisplus.core.conditions.query.QueryWrapper;
import com.baomidou.mybatisplus.core.toolkit.IdWorker;
import com.huatai.bpmn.entity.TbBusinessEntity;
import com.huatai.bpmn.utils.ServiceUtil;
import com.huatai.bpmn.utils.SqlUtil;

import org.springframework.beans.factory.annotation.Autowired;
import org.springframework.web.bind.annotation.RequestMapping;
import org.springframework.web.bind.annotation.RestController;


import java.util.ArrayList;



/**
 * @Author: nzj
 * @Description:
 * @DateTime: 2023/8/17 9:17
 **/
@RestController
@RequestMapping("test")
public class Commit {

	@Autowired
	SqlUtil sqlUtil;

	@Autowired
	ServiceUtil serviceUtil;


	public void addBusinessData(JSONObject data ) {
		String procinstId = data.getString("procinstId");
		//获取业务数据
		QueryWrapper<TbBusinessEntity> wrapper = new QueryWrapper<>();
		TbBusinessEntity businessEntity = serviceUtil.tbBusinessService.getOne(wrapper.eq("procinst_id",procinstId));
		//添加数据进入商家表
		saveShangJi(businessEntity);
		//添加数据进入入库表
		saveRuku(businessEntity);
		//添加数据进入确定实施部门表
		saveQdssbm(businessEntity);
		//添加数据进入实施项目表
		saveSsxm(businessEntity);
	}

	/**
	 * 添加数据进入实施项目表
	 * @param businessEntity
	 * @param
	 */
	 void saveSsxm(TbBusinessEntity businessEntity)  {
		JSONObject extend = businessEntity.getExtend();
		JSONObject param = extend.getJSONObject("param");
		JSONObject data = extend.getJSONObject("data");
		String xmmc = param.getString("xmmc");
		String xmly = param.getString("xmly");
		JSONArray gxr = data.getJSONArray("gxr");
		JSONArray xmjd = data.getJSONArray("xmjd");
		String xmjl = param.getString("xmjl");
		String xmssfzr = param.getString("xmssfzr");
		JSONArray sscyry = data.getJSONArray("sscyry");
		String xmlx = param.getString("xmlx");
		String xmsskssj = param.getString("xmsskssj");
		String xmssjssj = param.getString("xmssjssj");
		JSONArray xmje = data.getJSONArray("xmje");
		String xmqysj = param.getString("xmqysj");
		String xmdqqk = param.getString("xmdqqk");
		String fqr = param.getString("fqr");
		String txr4 = param.getString("txr4");
		ArrayList<Object> clumns = new ArrayList<>(16);
		ArrayList<Object> values = new ArrayList<>(16);
		clumns.add("id");
		values.add(IdWorker.getId());
		clumns.add("xmmc");
		values.add(xmmc);
		clumns.add("xmly");
		values.add(xmly);
		clumns.add("gxr");
		values.add(gxr);
		clumns.add("xmjd");
		values.add(xmjd);
		clumns.add("xmjl");
		values.add(xmjl);
		clumns.add("xmssfzr");
		values.add(xmssfzr);
		clumns.add("sscyry");
		values.add(sscyry);
		clumns.add("xmlx");
		values.add(xmlx);
		clumns.add("xmsskssj");
		values.add(xmsskssj);
		clumns.add("xmssjssj");
		values.add(xmssjssj);
		clumns.add("xmje");
		values.add(xmje);
		clumns.add("xmqysj");
		values.add(xmqysj);
		clumns.add("xmdqqk");
		values.add(xmdqqk);
		clumns.add("fqr");
		values.add(fqr);
		clumns.add("txr");
		values.add(txr4);
		clumns.add("business_key");
		values.add(businessEntity.getProcinstId());
		 sqlUtil.getInsertSql("complete_ssxm",clumns,values);
	}

	/**
	 * /添加数据进入确定实施部门表
	 * @param businessEntity
	 * @param
	 */
	 void saveQdssbm(TbBusinessEntity businessEntity)  {
		JSONObject extend = businessEntity.getExtend();
		JSONObject param = extend.getJSONObject("param");
		JSONObject data = extend.getJSONObject("data");
		String xmjl = param.getString("xmjl");
		String xmssfzr = param.getString("xmssfzr");
		JSONArray sscyry = data.getJSONArray("sscyry");
		String xmmc = param.getString("xmmc");
		String xmje = param.getString("xmje");
		String xmly = param.getString("xmly");
		String xmlx = param.getString("xmlx");
		JSONArray gxr = data.getJSONArray("gxr");
		String fqr = param.getString("fqr");
		String txr3 = param.getString("txr3");
		String procinstId = businessEntity.getProcinstId();
		ArrayList<Object> clumns = new ArrayList<>(16);
		ArrayList<Object> values = new ArrayList<>(16);
		clumns.add("id");
		values.add(IdWorker.getId());
		clumns.add("xmjl");
		values.add(xmjl);
		clumns.add("xmssfzr");
		values.add(xmssfzr);
		clumns.add("sscyry");
		values.add(sscyry);
		clumns.add("xmmc");
		values.add(xmmc);
		clumns.add("xmje");
		values.add(xmje);
		clumns.add("xmly");
		values.add(xmly);
		clumns.add("xmlx");
		values.add(xmlx);
		clumns.add("gxr");
		values.add(gxr);
		clumns.add("fqr");
		values.add(fqr);
		clumns.add("txr");
		values.add(txr3);
		clumns.add("business_key");
		values.add(businessEntity.getProcinstId());
		sqlUtil.getInsertSql("complete_qrssbm",clumns,values);
	}

	/**
	 * 添加数据进入入库表
	 * @param businessEntity
	 * @param
	 */
	 void saveRuku(TbBusinessEntity businessEntity)  {
		JSONObject extend = businessEntity.getExtend();
		JSONObject param = extend.getJSONObject("param");
		JSONObject data = extend.getJSONObject("data");
		String xmmc = param.getString("xmmc");
		String xmly = param.getString("xmly");
		JSONArray gxr = data.getJSONArray("gxr");
		String xmlx = param.getString("xmlx");
		JSONArray sqcyry = data.getJSONArray("sqcyry");
		String xmje = param.getString("xmje");
		String xmbz = param.getString("xmbz");
		String fqr = param.getString("fqr");
		String txr2 = param.getString("txr2");
		String procinstId = businessEntity.getProcinstId();
		ArrayList<Object> clumns = new ArrayList<>(16);
		ArrayList<Object> values = new ArrayList<>(16);
		clumns.add("id");
		values.add(IdWorker.getId());
		clumns.add("xmmc");
		values.add(xmmc);
		clumns.add("xmly");
		values.add(xmly);
		clumns.add("gxr");
		values.add(gxr);
		clumns.add("xmlx");
		values.add(xmlx);
		clumns.add("sqcyry");
		values.add(sqcyry);
		clumns.add("xmje");
		values.add(xmje);
		clumns.add("xmbz");
		values.add(xmbz);
		clumns.add("fqr");
		values.add(fqr);
		clumns.add("txr");
		values.add(txr2);
		clumns.add("business_key");
		values.add(businessEntity.getProcinstId());
		 sqlUtil.getInsertSql("complete_ruku",clumns,values);
	}

	/**
	 * 保存数据进入商机表
	 * @param businessEntity
	 */
	 void saveShangJi(TbBusinessEntity businessEntity)  {
		JSONObject extend = businessEntity.getExtend();
		JSONObject param = extend.getJSONObject("param");
		JSONObject data = extend.getJSONObject("data");
		String xmmc = param.getString("xmmc");
		String xmly = param.getString("xmly");
		JSONArray gxr = data.getJSONArray("gxr");
		String jsbgz = param.getString("jsbgz");
		JSONArray xmjd = data.getJSONArray("xmjd");
		String xmlx = param.getString("xmlx");
		String yjje = param.getString("yjje");
		String scgxsj = param.getString("scgxsj");
		String xmbz = param.getString("xmbz");
		String fqr = param.getString("fqr");
		String txr = param.getString("txr");
		String procinstId = businessEntity.getProcinstId();
		ArrayList<Object> clumns = new ArrayList<>(16);
		ArrayList<Object> values = new ArrayList<>(16);
		clumns.add("id");
		values.add(IdWorker.getId());
		clumns.add("xmmc");
		values.add(xmmc);
		clumns.add("xmly");
		values.add(xmly);
		clumns.add("gxr");
		values.add(gxr);
		clumns.add("jsbgz");
		values.add(jsbgz);
		clumns.add("xmjd");
		values.add(xmjd);
		clumns.add("xmlx");
		values.add(xmlx);
		clumns.add("yjje");
		values.add(yjje);
		clumns.add("scgxsj");
		values.add(scgxsj);
		clumns.add("xmbz");
		values.add(xmbz);
		clumns.add("fqr");
		values.add(fqr);
		clumns.add("txr");
		values.add(txr);
		clumns.add("business_key");
		values.add(businessEntity.getProcinstId());
		 sqlUtil.getInsertSql("complete_shangji",clumns,values);
	}
}
